// 创建队列===============================================================================

#define MAX_PATIENTS 100
#define NAME_LENGTH 50
// #define ID_LENGTH 10

// 患者信息链式队列节点结构体
typedef struct Patient
{
    char name[NAME_LENGTH];
    // int id[ID_LENGTH];
    struct Patient *next; // 指向下一个患者的指针
    struct Patient *prev; // 指向前一个患者的指针
} Patient;

// 患者信息链式队列结构体
typedef struct
{
    Patient *front; // 队列头指针
    Patient *rear;  // 队列尾指针
    int count;      // 当前患者数量
} PatientQueue;

// 函数声明
void initQueue(PatientQueue *queue); // 初始化队列
int isEmpty(PatientQueue *queue); // 判断队列是否为空
void enqueue(PatientQueue *queue, Patient *patient); // 入队
Patient *dequeue(PatientQueue *queue); // 出队
void loadPatientsFromFile(PatientQueue *queue, const char *filename); // 从文件中加载患者信息
void freeQueue(PatientQueue *queue); // 释放队列

